home *** CD-ROM | disk | FTP | other *** search
/ Tux Racer / Tux Racer.iso / program files / Sunspire Studios / Tux Racer / courses / common / objects-v60.tcl < prev    next >
Encoding:
Text File  |  2001-04-22  |  6.8 KB  |  239 lines

  1. # objects.tcl
  2. #
  3. # Specify standard objects
  4.  
  5. source tree_polyhedron.tcl
  6.  
  7. tux_load_model default_obj default.obj.strip
  8. tux_load_texture default_tex default.png
  9.  
  10. tux_load_texture fish herring_standard.png 0
  11. tux_load_texture shrub shrub.png 0
  12. tux_load_texture tree tree.png 0
  13. tux_load_texture tree_barren tree_barren.png 0
  14. tux_load_texture flag1 flag.png 0
  15. tux_load_texture finish finish.png 0
  16. tux_load_texture start start.png 0
  17. tux_load_texture r R.png 0
  18.  
  19. # ----- Begin output of [objserialize :models]
  20. if { ![objexists :models] } { 
  21.     objnew {:classes:s_container} {:} {models}
  22. }
  23. objset {:models} \
  24.     {-locked} {0}
  25.  
  26. if { ![objexists :models:billboard] } { 
  27.     objnew {:classes:s_model_billboard} {:models} {billboard}
  28. }
  29.  
  30. if { ![objexists :models:tree_billboard] } { 
  31.     objnew {:classes:s_model_tree} {:models} {tree_billboard}
  32. }
  33.  
  34. if { ![objexists :models:tree_poly] } { 
  35.     objnew {:classes:s_model_obj} {:models} {tree_poly}
  36. }
  37. objset {:models:tree_poly} \
  38.     {-filename} {treepoly.obj.strip}
  39. # ----- End output of [objserialize :models]
  40.  
  41. # ----- Begin output of [objserialize :collidables]
  42. if { ![objexists :collidables] } { 
  43.     objnew {:classes:s_container} {:} {collidables}
  44. }
  45.  
  46. if { ![objexists :collidables:herring] } { 
  47.     objnew {:classes:s_collidable_herring} {:collidables} {herring}
  48. }
  49.  
  50. if { ![objexists :collidables:billboard_tree] } { 
  51.     objnew {:classes:s_collidable_obj} {:collidables} {billboard_tree}
  52. }
  53. objtryset {:collidables:billboard_tree} \
  54.     {-model} {:models:tree_poly} \
  55.     {-friction_coeff} {0.6} \
  56.     {-collide_with_camera} {0}
  57. # ----- End output of [objserialize :collidables]
  58.  
  59. # ----- Begin output of [objserialize :collision_responses]
  60. if { ![objexists :collision_responses] } { 
  61.     objnew {:classes:s_container} {:} {collision_responses}
  62. }
  63. objset {:collision_responses} \
  64.     {-locked} {0}
  65.  
  66. if { ![objexists :collision_responses:herring] } { 
  67.     objnew {:classes:s_collision_response_herring} {:collision_responses} {herring}
  68. }
  69. objset {:collision_responses:herring} \
  70.     {-herring_value} {1}
  71.  
  72. if { ![objexists :collision_responses:physics] } { 
  73.     objnew {:classes:s_collision_response_physics} {:collision_responses} {physics}
  74. }
  75. # ----- End output of [objserialize :collision_responses]
  76.  
  77.  
  78. # ----- Begin output of [objserialize :objects]
  79. if { ![objexists :objects] } { 
  80.     objnew {:classes:s_container} {:} {objects}
  81. }
  82. objset {:objects} \
  83.     {-locked} {0}
  84.  
  85. if { ![objexists :objects:herring] } { 
  86.     objnew {:classes:s_object3d} {:objects} {herring}
  87. }
  88. objset {:objects:herring} \
  89.     {-drawable_model} {:models:billboard} \
  90.     {-texture} {:textures:fish} \
  91.     {-collidable_object} {:collidables:herring} \
  92.     {-height} {0.2} \
  93.     {-rotation} {0.0 0.0 0.0} \
  94.     {-scale} {0.5 1.0 0.5} \
  95.     {-reset_point} {0} \
  96.     {-collision_response_list} {:collision_responses:herring} \
  97.     {-billboard} {1} \
  98.     {-size_variance} {0.0} \
  99.     {-normal} {0.0 0.0 1.0} \
  100.     {-use_normal} {0}
  101.  
  102. if { ![objexists :objects:tree3] } { 
  103.     objnew {:classes:s_object3d} {:objects} {tree3}
  104. }
  105. objset {:objects:tree3} \
  106.     {-drawable_model} {:models:tree_billboard} \
  107.     {-texture} {:textures:shrub} \
  108.     {-collidable_object} {:collidables:billboard_tree} \
  109.     {-height} {0.0} \
  110.     {-rotation} {0.0 0.0 0.0} \
  111.     {-scale} {0.7 1.0 0.7} \
  112.     {-reset_point} {0} \
  113.     {-collision_response_list} {:collision_responses:physics} \
  114.     {-billboard} {0} \
  115.     {-size_variance} {0.5} \
  116.     {-normal} {0.0 0.0 1.0} \
  117.     {-use_normal} {0}
  118.  
  119. if { ![objexists :objects:tree1] } { 
  120.     objnew {:classes:s_object3d} {:objects} {tree1}
  121. }
  122. objset {:objects:tree1} \
  123.     {-drawable_model} {:models:tree_billboard} \
  124.     {-texture} {:textures:tree} \
  125.     {-collidable_object} {:collidables:billboard_tree} \
  126.     {-height} {0.0} \
  127.     {-rotation} {0.0 0.0 0.0} \
  128.     {-scale} {0.7 2.5 0.7} \
  129.     {-reset_point} {0} \
  130.     {-collision_response_list} {:collision_responses:physics} \
  131.     {-billboard} {0} \
  132.     {-size_variance} {0.5} \
  133.     {-normal} {0.0 0.0 1.0} \
  134.     {-use_normal} {0}
  135.  
  136. if { ![objexists :objects:tree2] } { 
  137.     objnew {:classes:s_object3d} {:objects} {tree2}
  138. }
  139. objset {:objects:tree2} \
  140.     {-drawable_model} {:models:tree_billboard} \
  141.     {-texture} {:textures:tree_barren} \
  142.     {-collidable_object} {:collidables:billboard_tree} \
  143.     {-height} {0.0} \
  144.     {-rotation} {0.0 0.0 0.0} \
  145.     {-scale} {0.7 2.5 0.7} \
  146.     {-reset_point} {0} \
  147.     {-collision_response_list} {:collision_responses:physics} \
  148.     {-billboard} {0} \
  149.     {-size_variance} {0.5} \
  150.     {-normal} {0.0 0.0 1.0} \
  151.     {-use_normal} {0}
  152.  
  153. if { ![objexists :objects:flag] } { 
  154.     objnew {:classes:s_object3d} {:objects} {flag}
  155. }
  156. objset {:objects:flag} \
  157.     {-drawable_model} {:models:billboard} \
  158.     {-texture} {:textures:flag1} \
  159.     {-collidable_object} {null} \
  160.     {-height} {0.0} \
  161.     {-rotation} {0.0 0.0 0.0} \
  162.     {-scale} {0.5 1.0 0.5} \
  163.     {-reset_point} {0} \
  164.     {-collision_response_list} {} \
  165.     {-billboard} {1} \
  166.     {-size_variance} {0.0} \
  167.     {-normal} {0.0 0.0 1.0} \
  168.     {-use_normal} {0}
  169.  
  170. if { ![objexists :objects:finish] } { 
  171.     objnew {:classes:s_object3d} {:objects} {finish}
  172. }
  173. objset {:objects:finish} \
  174.     {-drawable_model} {:models:billboard} \
  175.     {-texture} {:textures:finish} \
  176.     {-collidable_object} {null} \
  177.     {-height} {0.0} \
  178.     {-rotation} {0.0 0.0 0.0} \
  179.     {-scale} {4.5 6.0 4.5} \
  180.     {-reset_point} {0} \
  181.     {-collision_response_list} {} \
  182.     {-billboard} {1} \
  183.     {-size_variance} {0.0} \
  184.     {-normal} {0.0 0.0 1.0} \
  185.     {-use_normal} {1}
  186.  
  187. if { ![objexists :objects:start] } { 
  188.     objnew {:classes:s_object3d} {:objects} {start}
  189. }
  190. objset {:objects:start} \
  191.     {-drawable_model} {:models:billboard} \
  192.     {-texture} {:textures:start} \
  193.     {-collidable_object} {null} \
  194.     {-height} {0.0} \
  195.     {-rotation} {0.0 0.0 0.0} \
  196.     {-scale} {4.5 6.0 4.5} \
  197.     {-reset_point} {0} \
  198.     {-collision_response_list} {} \
  199.     {-billboard} {1} \
  200.     {-size_variance} {0.0} \
  201.     {-normal} {0.0 0.0 1.0} \
  202.     {-use_normal} {1}
  203.  
  204. if { ![objexists :objects:reset] } { 
  205.     objnew {:classes:s_object3d} {:objects} {reset}
  206. }
  207. objset {:objects:reset} \
  208.     {-drawable_model} {:models:billboard} \
  209.     {-texture} {:textures:r} \
  210.     {-collidable_object} {null} \
  211.     {-height} {0.0} \
  212.     {-rotation} {0.0 0.0 0.0} \
  213.     {-scale} {1.0 2.0 1.0} \
  214.     {-reset_point} {1} \
  215.     {-collision_response_list} {} \
  216.     {-billboard} {1} \
  217.     {-size_variance} {0.0} \
  218.     {-normal} {0.0 0.0 1.0} \
  219.     {-use_normal} {0}
  220. # ----- End output of [objserialize :objects]
  221.  
  222.  
  223. # ----- Begin output of [objserialize :palette]
  224. if { ![objexists :palette] } { 
  225.     objnew {:classes:s_object3d_palette} {:} {palette}
  226. }
  227. objset {:palette} \
  228.     {-mappings} {\
  229.     {(255, 128, 255) => :objects:reset} \
  230.     {(128, 128,   0) => :objects:start} \
  231.     {(255, 255,   0) => :objects:finish} \
  232.     {(255, 255, 255) => :objects:tree1} \
  233.     {(194,  40,  40) => :objects:flag} \
  234.     {( 28, 185, 204) => :objects:herring} \
  235.     {(255,  96,   0) => :objects:tree2} \
  236.     {(  0, 255,  48) => :objects:tree3} \
  237.     }
  238. # ----- End output of [objserialize :palette]
  239.